import PyPDF2


def rearrange_pdf(input_pdf, output_pdf):
    # 打开输入 PDF 文件
    with open(input_pdf, 'rb') as file:
        # 创建 PDF 读取对象
        pdf_reader = PyPDF2.PdfFileReader(file)

        # 创建 PDF 写入对象
        pdf_writer = PyPDF2.PdfFileWriter()

        # 逐页读取 PDF 内容
        for page_num in range(pdf_reader.numPages):
            # 获取页面对象
            page = pdf_reader.getPage(page_num)

            # 进行页面内容整理（这里可以根据需求进行修改）
            # 例如，可以提取文本内容，对文本进行处理，然后重新写入页面
            text_content = page.extractText()
            processed_text = process_text_content(text_content)

            # 创建新的页面并添加到写入对象中
            new_page = pdf_writer.addPage(page)
            new_page.mergePage(page)
            new_page.mergeTextOverXObject()
            new_page.extract_text()

        # 写入整理后的 PDF 到输出文件
        with open(output_pdf, 'wb') as output_file:
            pdf_writer.write(output_file)


def process_text_content(text_content):
    # 在这里对文本进行处理
    # 例如，可以进行文本清理、替换等操作
    processed_text = text_content.upper()  # 示例：将文本转换为大写

    return processed_text



# 使用例子
rearrange_pdf('D://BaiduNetdiskDownload//系集//信息系统项目管理师教程-第四版.pdf', 'D://BaiduNetdiskDownload//temp//信息系统项目管理师教程-第四版.pdf')